package initialize

import (
	"github.com/spf13/viper"
	"go.uber.org/zap"
)

// 读取环境变量
func GetSystemConfig() bool {
	//允许viper自动读取环境变量
	viper.AutomaticEnv()
	//根据键SHOP_MODE 来 获取环境变量的值
	getString := viper.GetString("SHOP_MODE")
	if getString == "dev" {
		return false
	} else if getString == "prod" {
		return true
	}
	return false
}

// 日志
func NewLogger() (*zap.Logger, error) {
	config := GetSystemConfig()
	//如果是true 就是生产环境
	if config {
		cfg := zap.NewProductionConfig()
		cfg.OutputPaths = []string{
			"./loger.log",
		}
		return cfg.Build()
	} else {
		dev, err := zap.NewDevelopment()
		return dev, err
	}
}

func InitLogger() {
	logger, err := NewLogger()
	if err != nil {
		panic(err)
	}
	zap.ReplaceGlobals(logger)
}
